export interface Supplier {
  supplierId: number;
  supplierCode: string;
  supplierName: string;
  supplierType: number;
  contactPerson: string;
  contactPhone: string;
  email: string;
  address: string;
  taxNumber: string;
  bankName: string;
  bankAccount: string;
  paymentTerms: string;
  creditRating: number;
  isActive: boolean;
  createdAt: string;
  updatedAt: string;
}

export interface SupplierQueryParams {
  supplierCode?: string;
  supplierName?: string;
  supplierType?: number;
  isActive?: boolean;
  pageNumber?: number;
  pageSize?: number;
}

export interface SupplierCreateParams {
  supplierCode: string;
  supplierName: string;
  supplierType: number;
  contactPerson: string;
  contactPhone: string;
  email?: string;
  address?: string;
  taxNumber?: string;
  bankName?: string;
  bankAccount?: string;
  paymentTerms?: string;
  creditRating?: number;
}

export interface SupplierUpdateParams extends SupplierCreateParams {
  supplierId: number;
}

export interface SupplierStatusParams {
  supplierId: number;
  isActive: boolean;
}

export interface SupplierPageResult {
  list: Supplier[];
  total: number;
  pageNumber: number;
  pageSize: number;
}